셰이더 코드에서 SceneTextures 사용하기
4. Archive/Unreal Lab/셰이더 파라미터 구조체(SHADER_PARAMETER_STRUCT)내용을 참고하여
SHADER_PARAMETER_RDG_UNIFORM_BUFFER(FSceneTextureUniformParameters, SceneTexturesUniformBuffer)
를 통해 셰이더 파라미터 구조체를 구성한다.
FSceneViewExtensionBase::PrePostProcessPass_RenderThread(FRDGBuilder& GraphBuilder, const FSceneView& InView, const FPostProcessingInputs& Inputs)
위 메소드를 사용한다 가정할때, 파라미터는 아래와 같이 바인딩 할 수 있다.
Params->SceneTexturesUniformBuffer = Inputs.SceneTextures;
셰이더 코드에서는 다음 헤더파일을 포함시킨다.
#include "/Engine/Private/Common.ush" // 필수 헤더
#include "/Engine/Public/Platform.ush" // 필수 헤더
#include "/Engine/Private/SceneTexturesCommon.ush" // SceneTextures를 사용할때 필요한 버퍼
SceneTexturesCommon.ush를 참고하여 함수를 골라서 사용하면 된다. 아래는 SceneColor를 얻는 방법이다.
float3 SceneColor = CalcSceneColor(UV);